Platform Explorer / Nuxeo Platform 5.8

Component studio.extensions.nuxeo-jenkins-report

Contributions

XML Source

<?xml version="1.0" encoding="UTF-8"?>

<component name="studio.extensions.nuxeo-jenkins-report" version="1.0.0">
  <require>org.nuxeo.runtime.started</require>
  <extension target="org.nuxeo.ecm.core.schema.TypeService" point="schema">
    <schema name="jenkinsreport" prefix="jenkinsreport" src="data/schemas/jenkinsreport.xsd"/>
    <schema name="jenkinsreportscontainer" prefix="jenkinsreports" src="data/schemas/jenkinsreportscontainer.xsd"/>
  </extension>
  <extension target="org.nuxeo.ecm.core.schema.TypeService" point="doctype">
    <doctype name="JenkinsReport" extends="Document">
      <schema name="jenkinsreport"/>
      <schema name="dublincore"/>
      <schema name="common"/>
      <schema name="uid"/>
      <facet name="Versionable"/>
    </doctype>
    <doctype name="JenkinsReportsContainer" extends="Document">
      <schema name="jenkinsreportscontainer"/>
      <schema name="dublincore"/>
      <schema name="common"/>
      <schema name="uid"/>
      <facet name="SuperSpace"/>
      <facet name="Folderish"/>
    </doctype>
  </extension>
  <extension target="org.nuxeo.ecm.core.lifecycle.LifeCycleService" point="types">
    <types>
      <type name="JenkinsReport">default</type>
    </types>
    <types>
      <type name="JenkinsReportsContainer">default</type>
    </types>
  </extension>
  <extension target="org.nuxeo.ecm.platform.types.TypeService" point="types">
    <type id="JenkinsReport">
      <label>JenkinsReport</label>
      <icon>/img/JENKINS.png</icon>
      <bigIcon>/img/JENKINS.png</bigIcon>
      <description></description>
      <default-view>view_documents</default-view>
      <layouts mode="create">
        <layout>JenkinsReport@create</layout>
        <layout>JenkinsReportJobs@create</layout>
        <layout>JenkinsDutyComments@create</layout>
      </layouts>
      <layouts mode="edit">
        <layout>JenkinsReport@edit</layout>
        <layout>JenkinsReportJobs@edit</layout>
      </layouts>
      <layouts mode="view">
        <layout>JenkinsReport@view</layout>
      </layouts>
    </type>
    <type id="JenkinsReportsContainer">
      <subtypes>
        <type>JenkinsReport</type>
      </subtypes>
    </type>
    <type id="JenkinsReportsContainer">
      <label>JenkinsReportsContainer</label>
      <icon>/img/JENKINS.png</icon>
      <bigIcon>/img/JENKINS.png</bigIcon>
      <description></description>
      <default-view>view_documents</default-view>
      <subtypes>
        <type>JenkinsReport</type>
      </subtypes>
      <layouts mode="create">
        <layout>layout@JenkinsReportsContainer-create</layout>
      </layouts>
      <layouts mode="edit">
        <layout>layout@JenkinsReportsContainer-edit</layout>
      </layouts>
      <layouts mode="view">
        <layout>layout@JenkinsReportsContainer-view</layout>
      </layouts>
      <contentViews category="content">
        <contentView showInExportView="false">document_content</contentView>
      </contentViews>
      <contentViews category="trash_content">
        <contentView showInExportView="false">document_trash_content</contentView>
      </contentViews>
    </type>
    <type id="Folder">
      <subtypes>
        <type>JenkinsReportsContainer</type>
      </subtypes>
    </type>
    <type id="Workspace">
      <subtypes>
        <type>JenkinsReportsContainer</type>
      </subtypes>
    </type>
  </extension>
  <extension target="org.nuxeo.ecm.platform.actions.ActionService" point="actions">
    <action id="TAB_VIEW">
      <filter id="jenkinsreport.deny.tab_view">
        <rule grant="false">
          <type>JenkinsReport</type>
        </rule>
      </filter>
    </action>
    <action id="TAB_CONTENT">
      <filter id="jenkinsreportscontainer.deny.tab_content">
        <rule grant="false">
          <type>JenkinsReportsContainer</type>
        </rule>
      </filter>
    </action>
    <action id="JenkinsReportSendMail" label="Send Mail" enabled="true" order="0" type="link" immediate="false" icon="/img/jenkins_send_email.png" link="#{operationActionBean.doOperation('JenkinsReportSendMail')}">
      <category>DOCUMENT_UPPER_ACTION</category>
      <filter id="filter@JenkinsReportSendMail">
        <rule grant="true">
          <type>JenkinsReport</type>
        </rule>
      </filter>
    </action>
    <action id="JenkinsReportContainerSummary" link="/studio_tabs/studio_tab_JenkinsReportContainerSummary.xhtml" order="0" label="action.view.summary" type="rest_document_link">
      <category>VIEW_ACTION_LIST</category>
      <filter id="filter@tab@JenkinsReportContainerSummary">
        <rule grant="true">
          <type>JenkinsReportsContainer</type>
        </rule>
      </filter>
    </action>
    <action id="JenkinsReportSummary" link="/studio_tabs/studio_tab_JenkinsReportSummary.xhtml" order="0" label="action.view.summary" type="rest_document_link">
      <category>VIEW_ACTION_LIST</category>
      <filter id="filter@tab@JenkinsReportSummary">
        <rule grant="true">
          <type>JenkinsReport</type>
        </rule>
      </filter>
    </action>

  
    <action id="newJenkinsReport" link="#{documentActions.createDocument('JenkinsReport')}" label="New Jenkins report" icon="/icons/action_add.gif">
    
      <category>SUBVIEW_UPPER_LIST</category>
    
      <filter id="newJenkinsReport">
      
        <rule grant="true">
        
          <permission>AddChildren</permission>
        
          <type>JenkinsReportsContainer</type>
      
        </rule>
    
      </filter>
  
    </action>



  
    <action id="JenkinsReportSendMail">
    
      <properties>
      
        <property name="confirmMessage">label.jenkins.sendMail.confirm</property>
      
        <propertyList name="confirmMessageArgs">
        
          <value>#{docSuggestionActions.getDocumentWithId(currentSuperSpace.id).getPropertyValue('jenkinsreports:report_email')}</value>
      
        </propertyList>
    
      </properties>
  
    </action>

  </extension>  <extension target="org.nuxeo.ecm.platform.jbpm.core.JbpmService" point="typeFilter">    <type name="JenkinsReport">      <processDefinition>review_parallel</processDefinition>
      <processDefinition>review_approbation</processDefinition>
    </type>
    <type name="JenkinsReportsContainer">
      <processDefinition>review_parallel</processDefinition>
      <processDefinition>review_approbation</processDefinition>
    </type>
  </extension>
  <extension target="org.nuxeo.ecm.core.versioning.VersioningService" point="versioningRules">
    <versioningRule typeName="JenkinsReport">
      <initialState major="0" minor="0"/>
      <options lifeCycleState="*">
        <none default="true"/>
        <minor/>
        <major/>
      </options>
    </versioningRule>
    <versioningRule typeName="JenkinsReportsContainer">
      <initialState major="0" minor="0"/>
      <options lifeCycleState="*">
        <none default="true"/>
        <minor/>
        <major/>
      </options>
    </versioningRule>
  </extension>
  <extension target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager" point="layouts">
    <layout name="layout@JenkinsReportsContainer-create">
      <templates>
        <template mode="any">/layouts/nuxeo-jenkins-report_layout_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>title</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>description</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>view_url</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>claim_url</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>report_email</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>jira_url</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>jira_projects</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>list</widget>
        </row>
      </rows>
      <widget name="title" type="text">
        <labels>
          <label mode="any">label.title</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>dc:title</field>
        </fields>
        <properties widgetMode="edit">
          <property name="styleClass">dataInputText</property>
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="description" type="textarea">
        <labels>
          <label mode="any">label.description</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>dc:description</field>
        </fields>
        <properties widgetMode="edit">
          <property name="styleClass">dataInputText</property>
        </properties>
      </widget>
      <widget name="view_url" type="text">
        <labels>
          <label mode="any">label.jenkins.view_url</label>
        </labels>
        <helpLabels>
          <label mode="any">label.jenkins.view_url.help</label>
        </helpLabels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreports:view_url</field>
        </fields>
        <properties widgetMode="edit">
          <property name="required">true</property>
          <property name="size">70</property>
        </properties>
      </widget>
      <widget name="claim_url" type="text">
        <labels>
          <label mode="any">label.jenkins.claim_url</label>
        </labels>
        <helpLabels>
          <label mode="any">label.jenkins.claim_url.help</label>
        </helpLabels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreports:claim_url</field>
        </fields>
        <properties widgetMode="edit">
          <property name="size">70</property>
        </properties>
      </widget>
      <widget name="report_email" type="text">
        <labels>
          <label mode="any">label.jenkins.report_email</label>
        </labels>
        <helpLabels>
          <label mode="any">label.jenkins.report_email.help</label>
        </helpLabels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreports:report_email</field>
        </fields>
        <properties widgetMode="edit">
          <property name="required">true</property>
          <property name="size">70</property>
        </properties>
      </widget>
      <widget name="jira_url" type="text">
        <labels>
          <label mode="any">label.jenkins.jira_url</label>
        </labels>
        <helpLabels>
          <label mode="any">label.jenkins.jira_url.help</label>
        </helpLabels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreports:jira_url</field>
        </fields>
        <properties widgetMode="edit">
          <property name="size">70</property>
        </properties>
      </widget>
      <widget name="jira_projects" type="list">
        <labels>
          <label mode="any">label.jenkins.jira_projects</label>
        </labels>
        <helpLabels>
          <label mode="any">label.jenkins.jira_projects.help</label>
        </helpLabels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreports:jira_projects</field>
        </fields>
        <properties widgetMode="edit">
          <property name="hideSubLabels">true</property>
        </properties>
        <subWidgets>
          <widget name="sub0" type="text">
            <labels>
              <label mode="any"></label>
            </labels>
            <translated>false</translated>
            <fields>
              <field></field>
            </fields>
            <properties widgetMode="edit">
              <property name="required">true</property>
            </properties>
          </widget>
        </subWidgets>
      </widget>
      <widget name="list" type="list">
        <labels>
          <label mode="any">label.jenkins.duty_planning</label>
        </labels>
        <helpLabels>
          <label mode="any">label.jenkins.duty_planning.help</label>
        </helpLabels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreports:duty_planning</field>
        </fields>
        <properties widgetMode="edit">
          <property name="orderable">true</property>
          <property name="display">table</property>
          <property name="hideSubLabels">false</property>
        </properties>
        <subWidgets>
          <widget name="sub0" type="datetime">
            <labels>
              <label mode="any">label.jenkins.duty.date</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>date</field>
            </fields>
            <properties widgetMode="edit">
              <property name="format">#{nxu:basicDateFormater()}</property>
              <property name="required">true</property>
            </properties>
          </widget>
          <widget name="sub1" type="text">
            <labels>
              <label mode="any">label.jenkins.duty.assignee</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>assignee</field>
            </fields>
            <properties widgetMode="edit">
              <property name="required">true</property>
            </properties>
          </widget>
        </subWidgets>
      </widget>
    </layout>
    <layout name="layout@JenkinsReportsContainer-edit">
      <templates>
        <template mode="any">/layouts/nuxeo-jenkins-report_layout_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>title</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>description</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>view_url</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>claim_url</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>report_email</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>jira_url</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>jira_projects</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>list</widget>
        </row>
      </rows>
      <widget name="title" type="text">
        <labels>
          <label mode="any">label.title</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>dc:title</field>
        </fields>
        <properties widgetMode="edit">
          <property name="styleClass">dataInputText</property>
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="description" type="textarea">
        <labels>
          <label mode="any">label.description</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>dc:description</field>
        </fields>
        <properties widgetMode="edit">
          <property name="styleClass">dataInputText</property>
        </properties>
      </widget>
      <widget name="view_url" type="text">
        <labels>
          <label mode="any">label.jenkins.view_url</label>
        </labels>
        <helpLabels>
          <label mode="any">label.jenkins.view_url.help</label>
        </helpLabels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreports:view_url</field>
        </fields>
        <properties widgetMode="edit">
          <property name="required">true</property>
          <property name="size">70</property>
        </properties>
      </widget>
      <widget name="claim_url" type="text">
        <labels>
          <label mode="any">label.jenkins.claim_url</label>
        </labels>
        <helpLabels>
          <label mode="any">label.jenkins.claim_url.help</label>
        </helpLabels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreports:claim_url</field>
        </fields>
        <properties widgetMode="edit">
          <property name="size">70</property>
        </properties>
      </widget>
      <widget name="report_email" type="text">
        <labels>
          <label mode="any">label.jenkins.report_email</label>
        </labels>
        <helpLabels>
          <label mode="any">label.jenkins.report_email.help</label>
        </helpLabels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreports:report_email</field>
        </fields>
        <properties widgetMode="edit">
          <property name="required">true</property>
          <property name="size">70</property>
        </properties>
      </widget>
      <widget name="jira_url" type="text">
        <labels>
          <label mode="any">label.jenkins.jira_url</label>
        </labels>
        <helpLabels>
          <label mode="any">label.jenkins.jira_url.help</label>
        </helpLabels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreports:jira_url</field>
        </fields>
        <properties widgetMode="edit">
          <property name="size">70</property>
        </properties>
      </widget>
      <widget name="jira_projects" type="list">
        <labels>
          <label mode="any">label.jenkins.jira_projects</label>
        </labels>
        <helpLabels>
          <label mode="any">label.jenkins.jira_projects.help</label>
        </helpLabels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreports:jira_projects</field>
        </fields>
        <properties widgetMode="edit">
          <property name="hideSubLabels">true</property>
        </properties>
        <subWidgets>
          <widget name="sub0" type="text">
            <labels>
              <label mode="any"></label>
            </labels>
            <translated>false</translated>
            <fields>
              <field></field>
            </fields>
          </widget>
        </subWidgets>
      </widget>
      <widget name="list" type="list">
        <labels>
          <label mode="any">label.jenkins.duty_planning</label>
        </labels>
        <helpLabels>
          <label mode="any">label.jenkins.duty_planning.help</label>
        </helpLabels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreports:duty_planning</field>
        </fields>
        <properties widgetMode="edit">
          <property name="orderable">true</property>
          <property name="display">table</property>
          <property name="hideSubLabels">false</property>
        </properties>
        <subWidgets>
          <widget name="sub0" type="datetime">
            <labels>
              <label mode="any">label.jenkins.duty.date</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>date</field>
            </fields>
            <properties widgetMode="edit">
              <property name="format">#{nxu:basicDateFormater()}</property>
              <property name="required">true</property>
            </properties>
          </widget>
          <widget name="sub1" type="text">
            <labels>
              <label mode="any">label.jenkins.duty.assignee</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>assignee</field>
            </fields>
            <properties widgetMode="edit">
              <property name="required">true</property>
            </properties>
          </widget>
        </subWidgets>
      </widget>
    </layout>
    <layout name="layout@JenkinsReportsContainer-view">
      <templates>
        <template mode="any">/layouts/nuxeo-jenkins-report_layout_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>list</widget>
        </row>
      </rows>
      <widget name="list" type="list">
        <labels>
          <label mode="any">label.jenkins.duty_planning</label>
        </labels>
        <helpLabels>
          <label mode="any">label.jenkins.duty_planning.help</label>
        </helpLabels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreports:duty_planning</field>
        </fields>
        <properties widgetMode="edit">
          <property name="orderable">true</property>
          <property name="display">table</property>
          <property name="hideSubLabels">false</property>
        </properties>
        <properties widgetMode="view">
          <property name="display">table</property>
          <property name="hideSubLabels">false</property>
        </properties>
        <subWidgets>
          <widget name="sub0" type="datetime">
            <labels>
              <label mode="any">label.jenkins.duty.date</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>date</field>
            </fields>
            <properties widgetMode="edit">
              <property name="format">#{nxu:basicDateFormater()}</property>
              <property name="required">true</property>
            </properties>
          </widget>
          <widget name="sub1" type="text">
            <labels>
              <label mode="any">label.jenkins.duty.assignee</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>assignee</field>
            </fields>
            <properties widgetMode="edit">
              <property name="required">true</property>
            </properties>
          </widget>
        </subWidgets>
      </widget>
    </layout>
    <layout name="JenkinsReports@cvListingLayout">
      <templates>
        <template mode="any">/layouts/layout_listing_ajax_template.xhtml</template>
        <template mode="edit_columns">/layouts/layout_column_selection_template.xhtml</template>
        <template mode="edit_sort_infos">/layouts/layout_sort_infos_template.xhtml</template>
        <template mode="edit_sort_infos_map">/layouts/layout_sort_infos_template.xhtml</template>
        <template mode="csv">/layouts/layout_listing_csv_template.xhtml</template>
        <template mode="pdf">/layouts/layout_listing_pdf_template.xhtml</template>
      </templates>
      <properties mode="any">
        <property name="showListingHeader">true</property>
        <property name="showRowEvenOddClass">true</property>
      </properties>
      <properties mode="edit_columns">
        <property name="availableElementsLabel">label.selection.availableColumns</property>
        <property name="selectedElementsLabel">label.selection.selectedColumns</property>
        <property name="selectedElementsHelp"></property>
        <property name="selectSize">10</property>
        <property name="displayAlwaysSelectedColumns">false</property>
      </properties>
      <properties mode="edit_sort_infos">
        <property name="newSortInfoTemplate">#{documentSearchActions.newSortInfo}</property>
        <property name="required">false</property>
      </properties>
      <properties mode="edit_sort_infos">
        <property name="newSortInfoTemplate">#{documentSearchActions.newSortInfoMap}</property>
        <property name="required">false</property>
      </properties>
      <columns>
        <column name="selection" alwaysSelected="true">
          <properties mode="any">
            <property name="isListingSelectionBox">true</property>
            <property name="useFirstWidgetLabelAsColumnHeader">false</property>
            <property name="columnStyleClass">iconColumn</property>
          </properties>
          <properties mode="csv">
            <property name="isHidden">true</property>
          </properties>
          <properties mode="pdf">
            <property name="isHidden">true</property>
          </properties>
          <widget>listing_ajax_selection_box</widget>
        </column>
        <column name="listing_title_link">
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="columnStyleClass"></property>
            <property name="label">label.title</property>
            <property name="sortPropertyName">dc:title</property>
          </properties>
          <properties mode="edit_sort_infos">
            <property name="showInSortInfoSelection">true</property>
          </properties>
          <properties mode="edit_sort_infos_map">
            <property name="showInSortInfoSelection">true</property>
          </properties>
          <widget>listing_title_link</widget>
        </column>
        <column name="report_date">
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="columnStyleClass"></property>
            <property name="label">label.jenkins.report_date</property>
            <property name="sortPropertyName">jenkinsreport:report_date</property>
          </properties>
          <properties mode="edit_sort_infos">
            <property name="showInSortInfoSelection">true</property>
          </properties>
          <properties mode="edit_sort_infos_map">
            <property name="showInSortInfoSelection">true</property>
          </properties>
          <widget>report_date</widget>
        </column>
        <column name="reporter">
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="columnStyleClass"></property>
            <property name="label">label.jenkins.reporter</property>
            <property name="sortPropertyName">jenkinsreport:reporter</property>
          </properties>
          <properties mode="edit_sort_infos">
            <property name="showInSortInfoSelection">true</property>
          </properties>
          <properties mode="edit_sort_infos_map">
            <property name="showInSortInfoSelection">true</property>
          </properties>
          <widget>reporter</widget>
        </column>
        <column name="report_trend">
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="columnStyleClass"></property>
            <property name="label">label.jenkins.reporttrend</property>
            <property name="sortPropertyName">jenkinsreport:report_trend</property>
          </properties>
          <properties mode="edit_sort_infos">
            <property name="showInSortInfoSelection">true</property>
          </properties>
          <properties mode="edit_sort_infos_map">
            <property name="showInSortInfoSelection">true</property>
          </properties>
          <widget>report_trend</widget>
        </column>
        <column name="template">
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="columnStyleClass"></property>
            <property name="label">label.jenkins.failing_jobs</property>
            <property name="sortPropertyName">jenkinsreport:number_failed</property>
          </properties>
          <properties mode="edit_sort_infos">
            <property name="showInSortInfoSelection">true</property>
          </properties>
          <properties mode="edit_sort_infos_map">
            <property name="showInSortInfoSelection">true</property>
          </properties>
          <widget>template</widget>
        </column>
        <column name="template_1">
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="columnStyleClass"></property>
            <property name="label">label.jenkins.unclaimed_jobs</property>
            <property name="sortPropertyName">jenkinsreport:number_unclaimed</property>
          </properties>
          <properties mode="edit_sort_infos">
            <property name="showInSortInfoSelection">true</property>
          </properties>
          <properties mode="edit_sort_infos_map">
            <property name="showInSortInfoSelection">true</property>
          </properties>
          <widget>template_1</widget>
        </column>
        <column name="nxl_unknown_col" selectedByDefault="false">
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="columnStyleClass"></property>
            <property name="label"></property>
            <property name="sortPropertyName"></property>
          </properties>
          <properties mode="edit_sort_infos">
            <property name="showInSortInfoSelection">true</property>
          </properties>
          <properties mode="edit_sort_infos_map">
            <property name="showInSortInfoSelection">true</property>
          </properties>
        </column>
        <column name="nxl_unknown_col_1" selectedByDefault="false">
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="columnStyleClass"></property>
            <property name="label"></property>
            <property name="sortPropertyName"></property>
          </properties>
          <properties mode="edit_sort_infos">
            <property name="showInSortInfoSelection">true</property>
          </properties>
          <properties mode="edit_sort_infos_map">
            <property name="showInSortInfoSelection">true</property>
          </properties>
        </column>
        <column name="nxl_unknown_col_2" selectedByDefault="false">
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="columnStyleClass"></property>
            <property name="label"></property>
            <property name="sortPropertyName"></property>
          </properties>
          <properties mode="edit_sort_infos">
            <property name="showInSortInfoSelection">true</property>
          </properties>
          <properties mode="edit_sort_infos_map">
            <property name="showInSortInfoSelection">true</property>
          </properties>
        </column>
        <column name="nxl_unknown_col_3" selectedByDefault="false">
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="columnStyleClass"></property>
            <property name="label"></property>
            <property name="sortPropertyName"></property>
          </properties>
          <properties mode="edit_sort_infos">
            <property name="showInSortInfoSelection">true</property>
          </properties>
          <properties mode="edit_sort_infos_map">
            <property name="showInSortInfoSelection">true</property>
          </properties>
        </column>
        <column name="nxl_unknown_col_4" selectedByDefault="false">
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="columnStyleClass"></property>
            <property name="label"></property>
            <property name="sortPropertyName"></property>
          </properties>
          <properties mode="edit_sort_infos">
            <property name="showInSortInfoSelection">true</property>
          </properties>
          <properties mode="edit_sort_infos_map">
            <property name="showInSortInfoSelection">true</property>
          </properties>
        </column>
      </columns>
      <widget name="listing_title_link" type="listing_title_link">
        <labels>
          <label mode="any">label.title</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data</field>
          <field>data.ref</field>
          <field>data.dc.description</field>
          <field>data.file.content</field>
          <field>data.file.content.filename</field>
        </fields>
      </widget>
      <widget name="report_date" type="datetime">
        <labels>
          <label mode="any">label.jenkins.report_date</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data['jenkinsreport']['report_date']</field>
        </fields>
        <properties widgetMode="view">
          <property name="pattern">#{nxu:basicDateFormater()}</property>
        </properties>
        <properties mode="any">
          <property name="pattern">#{nxu:basicDateFormater()}</property>
        </properties>
      </widget>
      <widget name="reporter" type="text">
        <labels>
          <label mode="any">label.jenkins.reporter</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data['jenkinsreport']['reporter']</field>
        </fields>
      </widget>
      <widget name="report_trend" type="template">
        <labels>
          <label mode="any">label.jenkins.reporttrend</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data['jenkinsreport']['report_trend']</field>
        </fields>
        <properties widgetMode="view">
          <property name="template">/widgets/jenkins_report_trend_widget_template.xhtml</property>
        </properties>
        <properties mode="any">
          <property name="template">/widgets/jenkins_report_trend_widget_template.xhtml</property>
        </properties>
      </widget>
      <widget name="template" type="template">
        <labels>
          <label mode="any">label.jenkins.failing_jobs</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data.jenkinsreport.previous_number_failed</field>
          <field>data.jenkinsreport.number_failed</field>
        </fields>
        <properties widgetMode="view">
          <property name="template">/widgets/jenkins_trend_widget_template.xhtml</property>
        </properties>
        <properties mode="any">
          <property name="template">/widgets/jenkins_trend_widget_template.xhtml</property>
        </properties>
      </widget>
      <widget name="template_1" type="template">
        <labels>
          <label mode="any">label.jenkins.unclaimed_jobs</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data.jenkinsreport.previous_number_unclaimed</field>
          <field>data.jenkinsreport.number_unclaimed</field>
        </fields>
        <properties widgetMode="view">
          <property name="template">/widgets/jenkins_trend_widget_template.xhtml</property>
        </properties>
        <properties mode="any">
          <property name="template">/widgets/jenkins_trend_widget_template.xhtml</property>
        </properties>
      </widget>
    </layout>
    <layout name="JenkinsDutyComments@create">
      <templates>
        <template mode="any">/layouts/nuxeo-jenkins-report_layout_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>description</widget>
        </row>
      </rows>
      <widget name="description" type="htmltext">
        <labels>
          <label mode="any">label.jenkins.duty_comments</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>dc:description</field>
        </fields>
      </widget>
    </layout>
    <layout name="JenkinsDutyComments@edit">
      <templates>
        <template mode="any">/layouts/nuxeo-jenkins-report_layout_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>description</widget>
        </row>
      </rows>
      <widget name="description" type="htmltext">
        <labels>
          <label mode="any">label.jenkins.duty_comments</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>dc:description</field>
        </fields>
      </widget>
    </layout>
    <layout name="JenkinsDutyComments@view">
      <templates>
        <template mode="any">/layouts/nuxeo-jenkins-report_layout_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>description</widget>
        </row>
      </rows>
      <widget name="description" type="htmltext">
        <labels>
          <label mode="any">label.jenkins.duty_comments</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>dc:description</field>
        </fields>
        <widgetModes>
          <mode value="view">#{empty layoutValue.dc.description? 'hidden':'view'}</mode>
        </widgetModes>
        <properties widgetMode="view">
          <property name="styleClass">bubbleBox</property>
        </properties>
      </widget>
    </layout>
    <layout name="JenkinsDutyPlanning@create">
      <templates>
        <template mode="any">/layouts/nuxeo-jenkins-report_layout_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget/>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget/>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget/>
        </row>
      </rows>
    </layout>
    <layout name="JenkinsDutyPlanning@edit">
      <templates>
        <template mode="any">/layouts/nuxeo-jenkins-report_layout_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>list</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget/>
        </row>
      </rows>
      <widget name="list" type="list">
        <labels>
          <label mode="any">Generic</label>
        </labels>
        <translated>false</translated>
        <fields>
          <field>jenkinsreports:duty_planning</field>
        </fields>
        <properties widgetMode="edit">
          <property name="orderable">true</property>
          <property name="display">table</property>
        </properties>
        <subWidgets>
          <widget name="sub0" type="datetime">
            <labels>
              <label mode="any">Date</label>
            </labels>
            <helpLabels>
              <label mode="any">Date of the first day of week duty</label>
            </helpLabels>
            <translated>false</translated>
            <fields>
              <field>date</field>
            </fields>
            <properties widgetMode="edit">
              <property name="format">#{nxu:basicDateFormater()}</property>
              <property name="required">true</property>
            </properties>
            <properties widgetMode="view">
              <property name="pattern">#{nxu:basicDateFormater()}</property>
            </properties>
          </widget>
          <widget name="sub1" type="text">
            <labels>
              <label mode="any">Assignee</label>
            </labels>
            <translated>false</translated>
            <fields>
              <field>assignee</field>
            </fields>
            <properties widgetMode="edit">
              <property name="required">true</property>
            </properties>
          </widget>
        </subWidgets>
      </widget>
    </layout>
    <layout name="JenkinsDutyPlanning@view">
      <templates>
        <template mode="any">/layouts/nuxeo-jenkins-report_layout_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>list</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget/>
        </row>
      </rows>
      <widget name="list" type="list">
        <labels>
          <label mode="any">Generic</label>
        </labels>
        <translated>false</translated>
        <fields>
          <field>jenkinsreports:duty_planning</field>
        </fields>
        <properties widgetMode="view">
          <property name="display">table</property>
        </properties>
        <subWidgets>
          <widget name="sub0" type="datetime">
            <labels>
              <label mode="any">Date</label>
            </labels>
            <helpLabels>
              <label mode="any">Date of the first day of week duty</label>
            </helpLabels>
            <translated>false</translated>
            <fields>
              <field>date</field>
            </fields>
            <properties widgetMode="view">
              <property name="pattern">#{nxu:basicDateFormater()}</property>
            </properties>
          </widget>
          <widget name="sub1" type="text">
            <labels>
              <label mode="any">Assignee</label>
            </labels>
            <translated>false</translated>
            <fields>
              <field>assignee</field>
            </fields>
          </widget>
        </subWidgets>
      </widget>
    </layout>
    <layout name="JenkinsReport@create">
      <templates>
        <template mode="any">/layouts/nuxeo-jenkins-report_layout_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>text</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>title</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>reporter</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>report_date</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>previous_number_failed</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>previous_number_unclaimed</widget>
        </row>
      </rows>
      <widget name="text" type="text">
        <labels>
          <label mode="any">help message</label>
        </labels>
        <translated>false</translated>
        <fields>
          <field>#{messages['label.jenkins.helpDoc']}</field>
        </fields>
        <widgetModes>
          <mode value="create">view</mode>
        </widgetModes>
        <properties widgetMode="view">
          <property name="styleClass">tips</property>
          <property name="escape">false</property>
        </properties>
        <controls mode="any">
          <control name="handleLabels">true</control>
        </controls>
      </widget>
      <widget name="title" type="text">
        <labels>
          <label mode="any">label.title</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>dc:title</field>
        </fields>
        <properties widgetMode="edit">
          <property name="styleClass">dataInputText</property>
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="reporter" type="singleUserSuggestion">
        <labels>
          <label mode="any">label.jenkins.reporter</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreport:reporter</field>
        </fields>
        <properties widgetMode="edit">
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="report_date" type="datetime">
        <labels>
          <label mode="any">label.jenkins.report_date</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreport:report_date</field>
        </fields>
        <properties widgetMode="edit">
          <property name="showsTime">true</property>
          <property name="format">#{nxu:basicDateAndTimeFormater()}</property>
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="previous_number_failed" type="int">
        <labels>
          <label mode="any">label.jenkins.previous_number_failing_jobs</label>
        </labels>
        <helpLabels>
          <label mode="any">label.jenkins.previous_number_failing_jobs.help</label>
        </helpLabels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreport:previous_number_failed</field>
        </fields>
        <properties widgetMode="edit">
          <property name="required">true</property>
          <property name="size">5</property>
        </properties>
      </widget>
      <widget name="previous_number_unclaimed" type="int">
        <labels>
          <label mode="any">label.jenkins.previous_number_unclaimed_jobs</label>
        </labels>
        <helpLabels>
          <label mode="any">label.jenkins.previous_number_unclaimed_jobs.help</label>
        </helpLabels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreport:previous_number_unclaimed</field>
        </fields>
        <properties widgetMode="edit">
          <property name="required">true</property>
          <property name="size">5</property>
        </properties>
      </widget>
    </layout>
    <layout name="JenkinsReport@edit">
      <templates>
        <template mode="any">/layouts/nuxeo-jenkins-report_layout_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>text</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>title</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>reporter</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>report_date</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>previous_number_failed</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>previous_number_unclaimed</widget>
        </row>
      </rows>
      <widget name="text" type="text">
        <labels>
          <label mode="any">help message</label>
        </labels>
        <translated>false</translated>
        <fields>
          <field>#{messages['label.jenkins.helpDoc']}</field>
        </fields>
        <widgetModes>
          <mode value="edit">view</mode>
        </widgetModes>
        <properties widgetMode="view">
          <property name="styleClass">tips</property>
          <property name="escape">false</property>
        </properties>
        <controls mode="any">
          <control name="handleLabels">true</control>
        </controls>
      </widget>
      <widget name="title" type="text">
        <labels>
          <label mode="any">label.title</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>dc:title</field>
        </fields>
        <properties widgetMode="edit">
          <property name="styleClass">dataInputText</property>
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="reporter" type="singleUserSuggestion">
        <labels>
          <label mode="any">label.jenkins.reporter</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreport:reporter</field>
        </fields>
        <properties widgetMode="edit">
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="report_date" type="datetime">
        <labels>
          <label mode="any">label.jenkins.report_date</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreport:report_date</field>
        </fields>
        <properties widgetMode="edit">
          <property name="showsTime">true</property>
          <property name="format">#{nxu:basicDateAndTimeFormater()}</property>
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="previous_number_failed" type="int">
        <labels>
          <label mode="any">label.jenkins.previous_number_failing_jobs</label>
        </labels>
        <helpLabels>
          <label mode="any">label.jenkins.previous_number_failing_jobs.help</label>
        </helpLabels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreport:previous_number_failed</field>
        </fields>
        <properties widgetMode="edit">
          <property name="required">true</property>
          <property name="size">5</property>
        </properties>
      </widget>
      <widget name="previous_number_unclaimed" type="int">
        <labels>
          <label mode="any">label.jenkins.previous_number_unclaimed_jobs</label>
        </labels>
        <helpLabels>
          <label mode="any">label.jenkins.previous_number_unclaimed_jobs.help</label>
        </helpLabels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreport:previous_number_unclaimed</field>
        </fields>
        <properties widgetMode="edit">
          <property name="required">true</property>
          <property name="size">5</property>
        </properties>
      </widget>
    </layout>
    <layout name="JenkinsReport@view">
      <templates>
        <template mode="any">/layouts/nuxeo-jenkins-report_layout_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
            <property name="nxl_colspan_1">1</property>
          </properties>
          <widget>reporter</widget>
          <widget>report_date</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
            <property name="nxl_colspan_1">1</property>
          </properties>
          <widget>report_trend</widget>
          <widget/>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
            <property name="nxl_colspan_1">1</property>
          </properties>
          <widget>template</widget>
          <widget>template_1</widget>
        </row>
      </rows>
      <widget name="reporter" type="text">
        <labels>
          <label mode="any">label.jenkins.reporter</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreport:reporter</field>
        </fields>
      </widget>
      <widget name="report_date" type="datetime">
        <labels>
          <label mode="any">label.jenkins.report_date</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreport:report_date</field>
        </fields>
        <properties widgetMode="view">
          <property name="pattern">#{nxu:basicDateAndTimeFormater()}</property>
        </properties>
      </widget>
      <widget name="report_trend" type="template">
        <labels>
          <label mode="any">label.jenkins.reporttrend</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreport:report_trend</field>
        </fields>
        <properties widgetMode="view">
          <property name="template">/widgets/jenkins_report_trend_widget_template.xhtml</property>
        </properties>
      </widget>
      <widget name="template" type="template">
        <labels>
          <label mode="any">label.jenkins.trend</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreport.previous_number_failed</field>
          <field>jenkinsreport.number_failed</field>
        </fields>
        <properties widgetMode="view">
          <property name="template">/widgets/jenkins_trend_widget_template.xhtml</property>
        </properties>
        <subWidgets/>
      </widget>
      <widget name="template_1" type="template">
        <labels>
          <label mode="any">label.jenkins.unclaimed_trend</label>
        </labels>
        <helpLabels>
          <label mode="any">label.jenkins.unclaimed_trend.help</label>
        </helpLabels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreport.previous_number_unclaimed</field>
          <field>jenkinsreport.number_unclaimed</field>
        </fields>
        <properties widgetMode="view">
          <property name="template">/widgets/jenkins_trend_widget_template.xhtml</property>
        </properties>
      </widget>
    </layout>
    <layout name="JenkinsReportJobs@create">
      <templates>
        <template mode="any">/layouts/nuxeo-jenkins-report_layout_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>template</widget>
        </row>
      </rows>
      <widget name="template" type="template">
        <labels>
          <label mode="any">label.jenkins.unstable_jobs</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreport:unstable_jobs</field>
          <field>jenkinsreport:last_update_feedback</field>
        </fields>
        <properties widgetMode="edit">
          <property name="template">/widgets/jenkins_jobs_list_widget_template.xhtml</property>
          <property name="orderable">true</property>
          <property name="jenkinsClaimURL">#{currentSuperSpace.jenkinsreports.claim_url}</property>
          <property name="jenkinsURL">#{currentSuperSpace.jenkinsreports.view_url}</property>
        </properties>
        <subWidgets>
          <widget name="sub0" type="template">
            <labels>
              <label mode="any">label.jenkins.status</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>type</field>
            </fields>
            <properties widgetMode="edit">
              <property name="template">/widgets/jenkins_failure_type_widget_template.xhtml</property>
              <property name="required">true</property>
            </properties>
          </widget>
          <widget name="sub1" type="template">
            <labels>
              <label mode="any">label.jenkins.updated_status</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>updated_type</field>
            </fields>
            <properties widgetMode="edit">
              <property name="template">/widgets/jenkins_failure_type_widget_template.xhtml</property>
            </properties>
          </widget>
          <widget name="sub2" type="text">
            <labels>
              <label mode="any">label.jenkins.job_id</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>job_id</field>
            </fields>
            <properties widgetMode="edit">
              <property name="required">true</property>
              <property name="size">70</property>
            </properties>
          </widget>
          <widget name="sub3" type="template">
            <labels>
              <label mode="any">label.jenkins.job_url</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>job_id</field>
              <field>job_url</field>
            </fields>
            <properties widgetMode="edit">
              <property name="template">/widgets/jenkins_job_link_widget_template.xhtml</property>
              <property name="required">true</property>
              <property name="size">70</property>
            </properties>
          </widget>
          <widget name="sub4" type="int">
            <labels>
              <label mode="any">label.jenkins.build_number</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>build_number</field>
            </fields>
            <properties widgetMode="edit">
              <property name="size">5</property>
            </properties>
          </widget>
          <widget name="sub5" type="int">
            <labels>
              <label mode="any">label.jenkins.updated_build_number</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>updated_build_number</field>
            </fields>
            <properties widgetMode="edit">
              <property name="size">5</property>
            </properties>
          </widget>
          <widget name="sub6" type="text">
            <labels>
              <label mode="any">label.jenkins.claimer</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>claimer</field>
            </fields>
            <widgetModes>
              <mode value="any">view</mode>
            </widgetModes>
          </widget>
          <widget name="sub7" type="list">
            <labels>
              <label mode="any">label.jenkins.culprits</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>culprits</field>
            </fields>
            <widgetModes>
              <mode value="any">view</mode>
            </widgetModes>
            <properties widgetMode="view">
              <property name="hideSubLabels">true</property>
            </properties>
            <subWidgets>
              <widget name="sub0" type="text">
                <labels>
                  <label mode="any">Culprit</label>
                </labels>
                <translated>false</translated>
                <fields>
                  <field></field>
                </fields>
                <properties widgetMode="edit">
                  <property name="required">true</property>
                </properties>
              </widget>
            </subWidgets>
          </widget>
          <widget name="sub8" type="textarea">
            <labels>
              <label mode="any">label.jenkins.comment</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>comment</field>
            </fields>
            <widgetModes>
              <mode value="any">view</mode>
            </widgetModes>
          </widget>
          <widget name="sub9" type="textarea">
            <labels>
              <label mode="any">label.jenkins.updated_comment</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>updated_comment</field>
            </fields>
            <widgetModes>
              <mode value="any">view</mode>
            </widgetModes>
          </widget>
          <widget name="sub10" type="checkbox">
            <labels>
              <label mode="any">label.jenkins.newly_failing</label>
            </labels>
            <helpLabels>
              <label mode="any">label.jenkins.newly_failing.help</label>
            </helpLabels>
            <translated>true</translated>
            <fields>
              <field>newly_failing</field>
            </fields>
          </widget>
        </subWidgets>
      </widget>
    </layout>
    <layout name="JenkinsReportJobs@edit">
      <templates>
        <template mode="any">/layouts/nuxeo-jenkins-report_layout_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>template</widget>
        </row>
      </rows>
      <widget name="template" type="template">
        <labels>
          <label mode="any">label.jenkins.unstable_jobs</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreport:unstable_jobs</field>
          <field>jenkinsreport:last_update_feedback</field>
        </fields>
        <properties widgetMode="edit">
          <property name="template">/widgets/jenkins_jobs_list_widget_template.xhtml</property>
          <property name="orderable">true</property>
          <property name="jenkinsClaimURL">#{currentSuperSpace.jenkinsreports.claim_url}</property>
          <property name="jenkinsURL">#{currentSuperSpace.jenkinsreports.view_url}</property>
        </properties>
        <subWidgets>
          <widget name="sub0" type="template">
            <labels>
              <label mode="any">label.jenkins.status</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>type</field>
            </fields>
            <properties widgetMode="edit">
              <property name="template">/widgets/jenkins_failure_type_widget_template.xhtml</property>
              <property name="required">true</property>
            </properties>
          </widget>
          <widget name="sub1" type="template">
            <labels>
              <label mode="any">label.jenkins.updated_status</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>updated_type</field>
            </fields>
            <properties widgetMode="edit">
              <property name="template">/widgets/jenkins_failure_type_widget_template.xhtml</property>
            </properties>
          </widget>
          <widget name="sub2" type="text">
            <labels>
              <label mode="any">label.jenkins.job_id</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>job_id</field>
            </fields>
            <properties widgetMode="edit">
              <property name="required">true</property>
              <property name="size">70</property>
            </properties>
          </widget>
          <widget name="sub3" type="template">
            <labels>
              <label mode="any">label.jenkins.job_url</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>job_id</field>
              <field>job_url</field>
            </fields>
            <properties widgetMode="edit">
              <property name="template">/widgets/jenkins_job_link_widget_template.xhtml</property>
              <property name="required">true</property>
              <property name="size">70</property>
            </properties>
          </widget>
          <widget name="sub4" type="int">
            <labels>
              <label mode="any">label.jenkins.build_number</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>build_number</field>
            </fields>
            <properties widgetMode="edit">
              <property name="size">5</property>
            </properties>
          </widget>
          <widget name="sub5" type="int">
            <labels>
              <label mode="any">label.jenkins.updated_build_number</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>updated_build_number</field>
            </fields>
            <properties widgetMode="edit">
              <property name="size">5</property>
            </properties>
          </widget>
          <widget name="sub6" type="text">
            <labels>
              <label mode="any">label.jenkins.claimer</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>claimer</field>
            </fields>
            <widgetModes>
              <mode value="any">view</mode>
            </widgetModes>
          </widget>
          <widget name="sub7" type="list">
            <labels>
              <label mode="any">label.jenkins.culprits</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>culprits</field>
            </fields>
            <widgetModes>
              <mode value="any">view</mode>
            </widgetModes>
            <properties widgetMode="view">
              <property name="hideSubLabels">true</property>
            </properties>
            <subWidgets>
              <widget name="sub0" type="text">
                <labels>
                  <label mode="any">Culprit</label>
                </labels>
                <translated>false</translated>
                <fields>
                  <field></field>
                </fields>
                <properties widgetMode="edit">
                  <property name="required">true</property>
                </properties>
              </widget>
            </subWidgets>
          </widget>
          <widget name="sub8" type="textarea">
            <labels>
              <label mode="any">label.jenkins.comment</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>comment</field>
            </fields>
            <widgetModes>
              <mode value="any">view</mode>
            </widgetModes>
          </widget>
          <widget name="sub9" type="textarea">
            <labels>
              <label mode="any">label.jenkins.updated_comment</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>updated_comment</field>
            </fields>
            <widgetModes>
              <mode value="any">view</mode>
            </widgetModes>
          </widget>
          <widget name="sub10" type="checkbox">
            <labels>
              <label mode="any">label.jenkins.newly_failing</label>
            </labels>
            <helpLabels>
              <label mode="any">label.jenkins.newly_failing.help</label>
            </helpLabels>
            <translated>true</translated>
            <fields>
              <field>newly_failing</field>
            </fields>
          </widget>
        </subWidgets>
      </widget>
    </layout>
    <layout name="JenkinsReportJobs@view">
      <templates>
        <template mode="any">/layouts/nuxeo-jenkins-report_layout_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">1</property>
          </properties>
          <widget>text</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_colspan_0">2</property>
          </properties>
          <widget>template</widget>
        </row>
      </rows>
      <widget name="text" type="text">
        <labels>
          <label mode="any">help message</label>
        </labels>
        <translated>false</translated>
        <fields>
          <field>#{messages['label.jenkins.helpDoc']}</field>
        </fields>
        <properties widgetMode="view">
          <property name="styleClass">tips</property>
          <property name="escape">false</property>
        </properties>
        <controls mode="any">
          <control name="handleLabels">true</control>
        </controls>
      </widget>
      <widget name="template" type="template">
        <labels>
          <label mode="any">label.jenkins.unstable_jobs</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>jenkinsreport:unstable_jobs</field>
          <field>jenkinsreport:last_update_feedback</field>
        </fields>
        <properties widgetMode="view">
          <property name="template">/widgets/jenkins_jobs_list_widget_template.xhtml</property>
          <property name="jenkinsClaimURL">#{currentSuperSpace.jenkinsreports.claim_url}</property>
          <property name="display">table</property>
          <property name="jenkinsURL">#{currentSuperSpace.jenkinsreports.view_url}</property>
        </properties>
        <subWidgets>
          <widget name="sub0" type="template">
            <labels>
              <label mode="any">label.jenkins.status</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>type</field>
              <field>updated_type</field>
              <field>newly_failing</field>
            </fields>
            <properties widgetMode="view">
              <property name="template">/widgets/jenkins_failure_type_widget_template.xhtml</property>
            </properties>
          </widget>
          <widget name="sub1" type="template">
            <labels>
              <label mode="any">label.jenkins.link</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>job_id</field>
              <field>job_url</field>
              <field>build_number</field>
              <field>updated_build_number</field>
            </fields>
            <properties widgetMode="view">
              <property name="template">/widgets/jenkins_job_link_widget_template.xhtml</property>
            </properties>
            <subWidgets/>
          </widget>
          <widget name="sub2" type="text">
            <labels>
              <label mode="any">label.jenkins.claimer</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>claimer</field>
            </fields>
          </widget>
          <widget name="sub3" type="complex">
            <labels>
              <label mode="any">label.jenkins.details</label>
            </labels>
            <translated>true</translated>
            <fields/>
            <properties widgetMode="view">
              <property name="styleClass">jenkinsComment</property>
            </properties>
            <subWidgets>
              <widget name="sub0" type="template">
                <labels>
                  <label mode="any">label.jenkins.comment</label>
                </labels>
                <translated>true</translated>
                <fields>
                  <field>comment</field>
                </fields>
                <properties widgetMode="view">
                  <property name="template">/widgets/jenkins_job_comment_widget_template.xhtml</property>
                  <property name="jiraProjects">#{currentSuperSpace.jenkinsreports.jira_projects}</property>
                  <property name="jiraURL">#{currentSuperSpace.jenkinsreports.jira_url}</property>
                </properties>
              </widget>
              <widget name="sub1" type="template">
                <labels>
                  <label mode="any">label.jenkins.updated_comment</label>
                </labels>
                <translated>true</translated>
                <fields>
                  <field>updated_comment</field>
                </fields>
                <properties widgetMode="view">
                  <property name="template">/widgets/jenkins_job_comment_widget_template.xhtml</property>
                  <property name="jiraProjects">#{currentSuperSpace.jenkinsreports.jira_projects}</property>
                  <property name="jiraURL">#{currentSuperSpace.jenkinsreports.jira_url}</property>
                </properties>
              </widget>
              <widget name="sub2" type="list">
                <labels>
                  <label mode="any">label.jenkins.culprits</label>
                </labels>
                <translated>true</translated>
                <fields>
                  <field>culprits</field>
                </fields>
                <properties widgetMode="view">
                  <property name="hideSubLabels">true</property>
                </properties>
                <subWidgets>
                  <widget name="sub0" type="text">
                    <labels>
                      <label mode="any">Culprit</label>
                    </labels>
                    <translated>false</translated>
                    <fields>
                      <field></field>
                    </fields>
                  </widget>
                </subWidgets>
              </widget>
            </subWidgets>
          </widget>
        </subWidgets>
      </widget>
    </layout>
    <layout name="JenkinsReportContainerSummary@tabLayout">
      <templates>
        <template mode="any">/layouts/studio_tab_layout_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <properties mode="any">
            <property name="nxl_gridStyleClass_0">gridStyle12</property>
          </properties>
          <widget>container</widget>
        </row>
        <row>
          <properties mode="any">
            <property name="nxl_gridStyleClass_0">gridStyle9</property>
            <property name="nxl_gridStyleClass_1">gridStyle3</property>
          </properties>
          <widget>container_1</widget>
          <widget>container_2</widget>
        </row>
      </rows>
      <widget name="container" type="container">
        <labels>
          <label mode="any"></label>
        </labels>
        <translated>false</translated>
        <fields>
          <field></field>
        </fields>
        <properties widgetMode="any">
          <property name="hideSubLabels">true</property>
        </properties>
        <controls mode="any">
          <control name="handleLabels">true</control>
        </controls>
        <subWidgets>
          <widget name="sub0" type="template">
            <labels>
              <label mode="any">View Url</label>
            </labels>
            <translated>false</translated>
            <fields>
              <field>jenkinsreportscontainer:view_url</field>
              <field>jenkinsreportscontainer:claim_url</field>
            </fields>
            <properties widgetMode="view">
              <property name="template">/widgets/jenkins_url_widget_template.xhtml</property>
              <property name="target">_blank</property>
            </properties>
          </widget>
          <widget name="sub1" type="summary_current_document_custom_actions">
            <labels>
              <label mode="any"></label>
            </labels>
            <translated>false</translated>
            <properties widgetMode="view">
              <property name="category">SUBVIEW_UPPER_LIST</property>
              <property name="display">buttons</property>
              <property name="overallDisplay">horizontal_block</property>
            </properties>
            <controls mode="any">
              <control name="requireSurroundingForm">true</control>
              <control name="handleLabels">true</control>
            </controls>
          </widget>
        </subWidgets>
      </widget>
      <widget name="container_1" type="container">
        <labels>
          <label mode="any">label.jenkins.past_reports</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field></field>
        </fields>
        <properties widgetMode="view">
          <property name="hideSubLabels">true</property>
        </properties>
        <controls mode="any">
          <control name="handleLabels">true</control>
        </controls>
        <subWidgets>
          <widget name="sub0" type="contentViewWithForms">
            <labels>
              <label mode="any">Past Reports</label>
            </labels>
            <translated>false</translated>
            <properties widgetMode="view">
              <property name="contentViewName">JenkinsReports</property>
            </properties>
          </widget>
        </subWidgets>
      </widget>
      <widget name="container_2" type="container">
        <labels>
          <label mode="any">label.jenkins.duty_planning</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field></field>
        </fields>
        <properties widgetMode="view">
          <property name="hideSubLabels">true</property>
        </properties>
        <controls mode="any">
          <control name="handleLabels">true</control>
        </controls>
        <subWidgets>
          <widget name="sub0" type="toggleableLayoutWithForms">
            <labels>
              <label mode="any"></label>
            </labels>
            <translated>false</translated>
            <fields>
              <field></field>
            </fields>
            <properties widgetMode="view">
              <property name="displayToggleActionInHeader">true</property>
              <property name="widgetsDisplay">no_label</property>
              <property name="initialLayoutName">#{layoutWidgetMode == 'edit'? 'JenkinsDutyPlanning@edit': (layoutWidgetMode == 'create'? 'JenkinsDutyPlanning@create': 'JenkinsDutyPlanning@view')}</property>
            </properties>
          </widget>
        </subWidgets>
      </widget>
    </layout>
    <layout name="JenkinsReportSummary@tabLayout">
      <templates>
        <template mode="any">/layouts/studio_tab_layout_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <properties mode="any">
            <property name="nxl_gridStyleClass_0">gridStyle12</property>
          </properties>
          <widget>container</widget>
        </row>
      </rows>
      <widget name="container" type="container">
        <labels>
          <label mode="any"></label>
        </labels>
        <translated>false</translated>
        <fields>
          <field></field>
        </fields>
        <properties widgetMode="any">
          <property name="hideSubLabels">true</property>
        </properties>
        <controls mode="any">
          <control name="handleLabels">true</control>
        </controls>
        <subWidgets>
          <widget name="sub0" type="container">
            <labels>
              <label mode="any">Jenkins report layout container</label>
            </labels>
            <translated>false</translated>
            <fields/>
            <properties widgetMode="view">
              <property name="ajaxPanelId">reportMainProps</property>
              <property name="hideSubLabels">true</property>
            </properties>
            <subWidgets>
              <widget name="sub0" type="toggleableLayoutWithForms">
                <labels>
                  <label mode="any">Jenkins report layout</label>
                </labels>
                <translated>false</translated>
                <fields>
                  <field></field>
                </fields>
                <properties widgetMode="view">
                  <property name="widgetsDisplay">label_top</property>
                  <property name="canToggleMode">false</property>
                  <property name="initialLayoutName">#{layoutWidgetMode == 'edit'? 'JenkinsReport@edit': (layoutWidgetMode == 'create'? 'JenkinsReport@create': 'JenkinsReport@view')}</property>
                </properties>
              </widget>
            </subWidgets>
          </widget>
          <widget name="sub1" type="toggleableLayoutWithForms">
            <labels>
              <label mode="any">label.jenkins.duty_comments</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field></field>
            </fields>
            <properties widgetMode="view">
              <property name="displayToggleActionInHeader">true</property>
              <property name="useAjaxForm">true</property>
              <property name="widgetsDisplay">no_label</property>
              <property name="initialLayoutName">#{layoutWidgetMode == 'edit'? 'JenkinsDutyComments@edit': (layoutWidgetMode == 'create'? 'JenkinsDutyComments@create': 'JenkinsDutyComments@view')}</property>
            </properties>
            <controls mode="any">
              <control name="handleLabels">true</control>
            </controls>
          </widget>
          <widget name="sub2" type="toggleableLayoutWithForms">
            <labels>
              <label mode="any">label.jenkins.unstable_jobs</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field></field>
            </fields>
            <properties widgetMode="view">
              <property name="displayToggleActionInHeader">true</property>
              <property name="toggledLayoutName"> JenkinsReportJobs@edit</property>
              <property name="widgetsDisplay">no_label</property>
              <property name="canToggleMode">false</property>
              <property name="initialLayoutName">#{layoutWidgetMode == 'edit'? 'JenkinsReportJobs@edit': (layoutWidgetMode == 'create'? 'JenkinsReportJobs@create': 'JenkinsReportJobs@view')}</property>
            </properties>
            <controls mode="any">
              <control name="handleLabels">true</control>
            </controls>
          </widget>
        </subWidgets>
      </widget>
    </layout>
  </extension>
  <extension target="org.nuxeo.ecm.platform.ui.web.ContentViewService" point="contentViews">
    <contentView name="JenkinsReports">
      <coreQueryPageProvider>
        <property name="coreSession">#{documentManager}</property>
        <pattern>SELECT * FROM Document WHERE (ecm:mixinType != 'HiddenInNavigation' AND ecm:isCheckedInVersion = 0 AND ecm:currentLifeCycleState != 'deleted' AND ecm:parentId=?)</pattern>
        <parameter>#{currentDocument.id}</parameter>
        <sort column="jenkinsreport:report_date" ascending="false"/>
        <pageSize>10</pageSize>
      </coreQueryPageProvider>
      <useGlobalPageSize>true</useGlobalPageSize>
      <refresh>
        <event>documentChanged</event>
        <event>documentChildrenChanged</event>
      </refresh>
      <cacheKey>#{currentDocument.id}</cacheKey>
      <cacheSize>10</cacheSize>
      <selectionList>CURRENT_SELECTION</selectionList>
      <showTitle>false</showTitle>
      <showFilterForm>true</showFilterForm>
      <showPageSizeSelector>true</showPageSizeSelector>
      <showRefreshCommand>true</showRefreshCommand>
      <actions category="CURRENT_SELECTION_LIST"/>
      <actions category="cv_actions@JenkinsReports"/>
      <resultLayouts>
        <layout name="JenkinsReports@cvListingLayout" title="document_listing" translateTitle="true" iconPath="/icons/document_listing_icon.png" showCSVExport="true"/>
      </resultLayouts>
    </contentView>
  </extension>
  <extension target="org.nuxeo.ecm.core.operation.OperationServiceComponent" point="event-handlers">
    <handler chainId="JenkinsReportCreation">
      <event>emptyDocumentModelCreated</event>
      <filters>
        <doctype>JenkinsReport</doctype>
      </filters>
    </handler>
    <handler chainId="JenkinsReportModified">
      <event>aboutToCreate</event>
      <event>beforeDocumentModification</event>
      <filters>
        <doctype>JenkinsReport</doctype>
      </filters>
    </handler>
    <handler chainId="JenkinsReportsContainerCreation">
      <event>emptyDocumentModelCreated</event>
      <filters>
        <doctype>JenkinsReportsContainer</doctype>
      </filters>
    </handler>
  </extension>
  <extension target="org.nuxeo.ecm.platform.ec.notification.service.NotificationService" point="templates">
    <template name="JenkinsReportSendMail" src="data/templates/JenkinsReportSendMail.ftl"/>
  </extension>
  <extension target="org.nuxeo.ecm.core.operation.OperationServiceComponent" point="chains">
    <chain id="JenkinsReportCreation">
      <operation id="Context.FetchDocument"/>
      <operation id="Document.SetProperty">
        <param type="serializable" name="value">expr:CurrentUser.name</param>
        <param type="string" name="xpath">jenkinsreport:reporter</param>
        <param type="boolean" name="save">false</param>
      </operation>
      <operation id="Document.SetProperty">
        <param type="serializable" name="value">expr:@{CurrentDate.year}/@{CurrentDate.format("MM")}/@{CurrentDate.format("dd")}</param>
        <param type="string" name="xpath">dc:title</param>
        <param type="boolean" name="save">false</param>
      </operation>
      <operation id="Document.SetProperty">
        <param type="serializable" name="value">expr:CurrentDate.calendar</param>
        <param type="string" name="xpath">jenkinsreport:report_date</param>
        <param type="boolean" name="save">false</param>
      </operation>
      <operation id="Document.SetProperty">
        <param type="serializable" name="value">0</param>
        <param type="string" name="xpath">jenkinsreport:number_failed</param>
        <param type="boolean" name="save">false</param>
      </operation>
      <operation id="Document.SetProperty">
        <param type="serializable" name="value">0</param>
        <param type="string" name="xpath">jenkinsreport:previous_number_failed</param>
        <param type="boolean" name="save">false</param>
      </operation>
      <operation id="Document.SetProperty">
        <param type="serializable" name="value">0</param>
        <param type="string" name="xpath">jenkinsreport:previous_number_unclaimed</param>
        <param type="boolean" name="save">false</param>
      </operation>
    </chain>
    <chain id="JenkinsReportModified">
      <operation id="Context.FetchDocument"/>
      <operation id="Context.RunScript">
        <param type="string" name="script">var jobs = Document["jenkinsreport:unstable_jobs"];
nbUnclaimed = 0;
foreach (job : jobs) {
  if (job["claimer"] == empty and job["type"] != "SUCCESS" and job["updated_type"] != "SUCCESS") {
    nbUnclaimed ++;
  }
}
Document["jenkinsreport:number_unclaimed"] = nbUnclaimed;</param>
      </operation>
      <operation id="Context.RunScript">
        <param type="string" name="script">var jobs = Document["jenkinsreport:unstable_jobs"];
nbFailing = 0;
foreach (job : jobs) {
  if (job["type"] != "SUCCESS" and job["updated_type"] != "SUCCESS") {
    nbFailing ++;
  }
}
Document["jenkinsreport:number_failed"] = nbFailing;</param>
      </operation>
      <operation id="Context.RunScript">
        <param type="string" name="script">var jobs = Document["jenkinsreport:unstable_jobs"];
nb = 0;
foreach (job : jobs) {
  if (job["updated_type"] == "SUCCESS") {
    nb --;
  } else if (job["newly_failing"] == true) {
    nb ++;
  }
}
Document["jenkinsreport:report_trend"] = nb;</param>
      </operation>
    </chain>
    <chain id="JenkinsReportSendMail">
      <operation id="Context.FetchDocument"/>
      <operation id="Document.Push"/>
      <operation id="Document.GetParent"/>
      <operation id="Context.SetVar">
        <param type="string" name="name">jenkins_report_email</param>
        <param type="object" name="value">expr:Document.getProperty("jenkinsreports:report_email")</param>
      </operation>
      <operation id="Context.SetVar">
        <param type="string" name="name">jenkins_url</param>
        <param type="object" name="value">expr:Document.getProperty("jenkinsreports:view_url")</param>
      </operation>
      <operation id="Document.Pull"/>
      <operation id="Notification.SendMail">
        <param type="string" name="from">expr:CurrentUser.email</param>
        <param type="string" name="message">template:JenkinsReportSendMail</param>
        <param type="string" name="subject">expr:Jenkins Report - @{Document.title}</param>
        <param type="stringlist" name="to">expr:Context["jenkins_report_email"]</param>
        <param type="boolean" name="HTML">true</param>
        <param type="boolean" name="rollbackOnError">true</param>
        <param type="string" name="viewId">view_documents</param>
      </operation>
      <operation id="Seam.AddInfoMessage">
        <param type="string" name="message">Email sent</param>
      </operation>
    </chain>
    <chain id="JenkinsReportsContainerCreation">
      <operation id="Context.FetchDocument"/>
      <operation id="Document.SetProperty">
        <param type="serializable" name="value">http://qa.nuxeo.org/jenkins/view/Dashboard/</param>
        <param type="string" name="xpath">jenkinsreports:view_url</param>
        <param type="boolean" name="save">false</param>
      </operation>
      <operation id="Document.SetProperty">
        <param type="serializable" name="value">http://qa.nuxeo.org/jenkins/claims/</param>
        <param type="string" name="xpath">jenkinsreports:claim_url</param>
        <param type="boolean" name="save">false</param>
      </operation>
    </chain>
  </extension>
  <extension target="org.nuxeo.ecm.directory.sql.SQLDirectoryFactory" point="directories">
    <directory name="JenkinsFailCauses">
      <schema>vocabulary</schema>
      <dataSource>java:/nxsqldirectory</dataSource>
      <cacheTimeout>3600</cacheTimeout>
      <cacheMaxSize>1000</cacheMaxSize>
      <idField>id</idField>
      <autoincrementIdField>false</autoincrementIdField>
      <createTablePolicy>always</createTablePolicy>
      <table>studio_vocabulary_JenkinsFailCauses</table>
      <dataFile>data/vocabularies/JenkinsFailCauses.csv</dataFile>
    </directory>
  </extension>
  <extension target="org.nuxeo.ecm.directory.ui.DirectoryUIManager" point="directories">
    <directory name="JenkinsFailCauses" layout="vocabulary" sortField="label"/>
  </extension>
  <extension target="org.nuxeo.ecm.platform.actions.ActionService" point="filters">
    <filter id="create" append="true">
      <rule grant="false">
        <type>JenkinsReport</type>
        <type>JenkinsReportsContainer</type>
      </rule>
    </filter>
  </extension>
  <extension target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager" point="widgettypes">

    
    <documentation>Widget types declared in studio</documentation>

    
    <widgetType name="studio_header">
      
      <configuration>
        
        <title>Header</title>
        
        <description>
          The header widget just displays the widget label.
        </description>
        
        <supportedModes>
          
          <mode>edit</mode>
          
          <mode>view</mode>
        
        </supportedModes>
        
        <fields>
          
          <list>false</list>
          
          <complex>false</complex>
          
          <supportedTypes/>
          
          <defaultTypes/>
        
        </fields>
        
        <handlingLabels>true</handlingLabels>
        
        <categories>
          
          <category>document</category>
          
          <category>studio</category>
        
        </categories>
        
        <properties>
          
          <layouts mode="any">
            
            <layout name="studio_header_widget_type_properties_any">
              
              <rows>
                
                <row>
                  
                  <widget>styleClass</widget>
                
                </row>
                
                <row>
                  
                  <widget>style</widget>
                
                </row>
              
              </rows>
              
              <widget name="styleClass" type="text">
                
                <labels>
                  
                  <label mode="any">Style class</label>
                
                </labels>
                
                <fields>
                  
                  <field>styleClass</field>
                
                </fields>
              
              </widget>
              
              <widget name="style" type="text">
                
                <labels>
                  
                  <label mode="any">Style</label>
                
                </labels>
                
                <fields>
                  
                  <field>style</field>
                
                </fields>
              
              </widget>
            
            </layout>
          
          </layouts>
        
        </properties>
      
      </configuration>
      
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      
      <property name="template">
        /widgets/studio_header_widget.xhtml
      </property>
    
    </widgetType>

    
    <widgetType name="filesList">
      
      <configuration>
        
        <title>Files</title>
        
        <description>
          
          <p>
            The Files displays an editable list of files, using javascript to
            keep the uploaded file path when adding several files in a row.
          </p>
          
          <p>Items are defined using sub wigdets configuration.</p>
          
          <p>
            This is actually a template widget type whose template uses a
            &lt;nxu:inputList /&gt; tag in edit or create mode, and a table
            iterating over items in other modes.
          </p>
        
        </description>
        
        <categories>
          
          <category>document</category>
          
          <category>studio</category>
        
        </categories>
        
        <supportedModes>
          
          <mode>edit</mode>
          
          <mode>view</mode>
        
        </supportedModes>
        
        <acceptingSubWidgets>true</acceptingSubWidgets>
        
        <fields>
          
          <list>true</list>
          
          <complex>false</complex>
          
          <supportedTypes>
            
            <type>blob</type>
          
          </supportedTypes>
          
          <defaultTypes>
            
            <type>blob</type>
          
          </defaultTypes>
        
        </fields>
        
        <properties>
          
          <layouts mode="edit">
            
            <layout name="list_widget_type_properties_edit">
              
              <rows>
                
                <row>
                  
                  <widget>required</widget>
                
                </row>
                
                <row>
                  
                  <widget>diff</widget>
                
                </row>
              
              </rows>
              
              <widget name="required" type="checkbox">
                
                <labels>
                  
                  <label mode="any">Required</label>
                
                </labels>
                
                <fields>
                  
                  <field>required</field>
                
                </fields>
              
              </widget>
              
              <widget name="diff" type="checkbox">
                
                <labels>
                  
                  <label mode="any">Diff</label>
                
                </labels>
                
                <fields>
                  
                  <field>diff</field>
                
                </fields>
              
              </widget>
            
            </layout>
          
          </layouts>
        
        </properties>
      
      </configuration>
      
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      
      <property name="template">/widgets/files_list_widget_template.xhtml
      </property>
    
    </widgetType>

  
  </extension>
</component>